Small Computer System Interface (SCSI) is a set of standards and protocols for physically connecting and transferring data between computers and peripheral devices. SCSI is most commonly used to connect computers to memory devices such as hard drives or tape drives. Serial Attached SCSI (SAS) is a computer bus used to move data to and from computer memory storage devices using SCSI standards and protocols.
SAS controllers are devices with multiple bi-directional SAS connection points (PHYs). A PHY is a transceiver that electrically interfaces with a physical link and implements portions of the protocol that encodes data and manages reset sequences. Each PHY in an SAS controller may be connected to an SAS device; the PHY includes hardware for implementing communication to and from the connected SAS device. PHYs are organized into ports to facilitate and simplify the processes of connecting to the SAS device connected to a particular PHY; for example, one SAS device may be connected to an SAS controller by several PHYs, those PHYs may be associated with a single port (wide port) such that access to the SAS device is by reference to the common port, thereby increasing the bandwidth of the port, and the SAS controller is responsible for efficiently load balancing across all PHYs.
SAS controllers may require each PHY to be manually configured, making the initial setup a time consuming, laborious process. Furthermore, any changes to the topology of the system is equally time consuming and laborious, and prone to human error. Some SAS controllers contain functionality to automatically configure ports and PHYs, thereby eliminating the human factor, and allowing the system to easily incorporate changes in topology.
SAS devices occasionally lose power, reboot, reset or otherwise lose connectivity to an SAS controller. A device attempting to sent or retrieve information from a port associated with a PHY that is no longer connected to an SAS device would encounter a significant error condition. SAS controllers containing functionality to automatically configure ports and PHYs recognize the failed connection as a change to the topology of the system and deactivate ports associated with PHYs that are no longer connected to an SAS device. This behavior prevents other devices from attempting to access the disconnected SAS device, but also disassociates the SAS device from a port which may be known to other devices wishing to connect to the SAS device when and if the SAS device re-connects to the SAS controller.